package com.sharer.last.model.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sharer.last.base.model.BasePO;
import lombok.*;

import java.time.LocalDateTime;

/**
 * 博客文章
 *
 * @ClassName BlogPO
 * @Author WangJin
 * @Date 2023/5/5 17:34
 * @Description
 * @Version 1.0
 */
@TableName("blog")
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
@EqualsAndHashCode(callSuper = true)
public class BlogPO extends BasePO {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 文章标题
     */
    private String title;

    /**
     * 文章首图，用于随机文章展示
     */
    private String firstPicture;

    /**
     * 文章正文
     */
    private String content;

    /**
     * 描述
     */
    private String description;

    /**
     * 公开或私密 1:公开的 2：私有的 3:密码保护
     */
    private Integer showPermission;

    /**
     * 推荐开关 1:开启
     */
    private Integer isRecommend;

    /**
     * 赞赏开关 1:开启
     */
    private Integer isAppreciation;

    /**
     * 评论开关 1:开启
     */
    private Integer isCommentEnabled;

    /**
     * 是否置顶 1:是 0：否
     */
    private Integer isTop;

    /**
     * 浏览次数
     */
    private Integer views;

    /**
     * 文章字数
     */
    private Integer words;

    /**
     * 阅读时长(分钟)
     */
    private Integer readTime;

    /**
     * 密码保护
     */
    private String password;

    /**
     * 文章分类id
     */
    private Long categoryId;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 逻辑删除 未添加则直接删除数据 添加后为update语句
     */
    @TableLogic
    private Integer isDelete;
}
